package com.piesat.quake.business.station.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;

import java.io.Serializable;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author ${author}
 * @since 2022-12-06
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@EqualsAndHashCode(callSuper = false)
@TableName("station_info")
public class StationInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 站台ID
     */
    @TableId(value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 站台名称
     */
    @TableField("name")
    private String name;

    /**
     * 经度
     */
    @TableField("lng")
    private Double lng;

    /**
     * 纬度
     */
    @TableField("lat")
    private Double lat;

    /**
     * mac地址
     */
    @TableField("mac")
    private String mac;

    /**
     * ip地址
     */
    @TableField("ip")
    private String ip;

    /**
     * 掩码
     */
    @TableField("mask")
    private String mask;

    /**
     * 网关
     */
    @TableField("gateway")
    private String gateway;

    /**
     * dns
     */
    @TableField("dns")
    private String dns;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 实时状态：1-开启，0-关闭
     */
    @TableField("real_status")
    private Integer realStatus;

    /**
     * ftp状态：1-开启，0-关闭
     */
    @TableField("ftp_status")
    private Integer ftpStatus;

    /**
     * 关联行政区划
     */
    @TableField("region_code")
    private String regionCode;

    @TableField(exist = false)
    private String regionName;

    /**
     * 应变阈值
     */
    @TableField("strain")
    private Double strain;

    /**
     * 加速度阈值
     */
    @TableField("acceleration")
    private Double acceleration;

    /**
     * 模式
     */
    @TableField("model")
    private Integer model;

    /**
     * 版本
     */
    @TableField("version")
    private Integer version;

    /**
     * 是否在线
     */
    @TableField("online")
    private Boolean online;

    @TableField("recently_time")
    private Long recentlyTime;

    @TableField("first_time")
    private Long firstTime;

    /**
     * 设备状态更新时间
     */
    @TableField(exist = false)
    private Long dataTimestamp;
    /**
     * 设备温度
     */
    @TableField(exist = false)
    private Float temperature;

}
